// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from 'vscode';
import { goDicSaveText } from './goDidSaveText';

// this method is called when your extension is activated
// your extension is activated the very first time the command is executed
export function activate(context: vscode.ExtensionContext) {

	// Use the console to output diagnostic information (console.log) and errors (console.error)
	// This line of code will only be executed once when your extension is activated
	console.log('Congratulations, your extension "gsformat" is now active!');

	// The command has been defined in the package.json file
	// Now provide the implementation of the command with registerCommand
	// The commandId parameter must match the command field in package.json
	let gsDiagnostics = vscode.languages.createDiagnosticCollection("gs");
	context.subscriptions.push(gsDiagnostics);
	// context.subscriptions.push(vscode.languages.registerOnTypeFormattingEditProvider(GS_MODE, new GoOnTypingFormatter(gsDiagnostics), ";", '\r', ","));

	context.subscriptions.push(vscode.workspace.onDidSaveTextDocument(async doc => {
		const dst = new goDicSaveText(doc, gsDiagnostics);
		dst.OnSave();
	}));
}

// this method is called when your extension is deactivated
export function deactivate() {}
